package com.ruoyi.sourceplan.masterdata.controller;

import java.util.List;
import java.util.Arrays;
import javax.servlet.http.HttpServletResponse;

import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.sourceplan.masterdata.domain.MdSupplier;
import com.ruoyi.sourceplan.masterdata.service.IMdSupplierService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;

import com.ruoyi.common.core.page.TableDataInfo;

/**
 * 供应商Controller
 *
 * @author husky
 * @date 2023-11-04
 */
@Api(tags="供应商管理")
@RestController
@RequestMapping("/masterdata/supplier")
public class MdSupplierController extends BaseController
{
    @Autowired
    private IMdSupplierService mdSupplierService;

    /**
     * 查询供应商列表
     */
    @ApiOperation("查询供应商列表")
    @PreAuthorize("@ss.hasPermi('masterdata:supplier:list')")
    @GetMapping("/list")
    public TableDataInfo list(MdSupplier mdSupplier)
    {
        startPage();
        List<MdSupplier> list = mdSupplierService.selectMdSupplierList(mdSupplier);
        return getDataTable(list);
    }

    /**
     * 导出供应商列表
     */
    @ApiOperation("导出供应商列表")
    @PreAuthorize("@ss.hasPermi('masterdata:supplier:export')")
    @Log(title = "供应商", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, MdSupplier mdSupplier)
    {
        List<MdSupplier> list = mdSupplierService.selectMdSupplierList(mdSupplier);
        ExcelUtil<MdSupplier> util = new ExcelUtil<MdSupplier>(MdSupplier.class);
        util.exportExcel(response, list, "供应商数据");
    }

    /**
     * 获取供应商详细信息
     */
    @ApiOperation("获取供应商详细信息")
    @PreAuthorize("@ss.hasPermi('masterdata:supplier:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id)
    {
        return success(mdSupplierService.getById(id));
    }

    /**
     * 新增供应商
     */
    @ApiOperation("新增供应商")
    @PreAuthorize("@ss.hasPermi('masterdata:supplier:add')")
    @Log(title = "供应商", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody MdSupplier mdSupplier)
    {
        return toAjax(mdSupplierService.save(mdSupplier));
    }

    /**
     * 修改供应商
     */
    @ApiOperation("修改供应商")
    @PreAuthorize("@ss.hasPermi('masterdata:supplier:edit')")
    @Log(title = "供应商", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody MdSupplier mdSupplier)
    {
        return toAjax(mdSupplierService.updateById(mdSupplier));
    }

    /**
     * 删除供应商
     */
    @ApiOperation("删除供应商")
    @PreAuthorize("@ss.hasPermi('masterdata:supplier:remove')")
    @Log(title = "供应商", businessType = BusinessType.DELETE)
	@DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids)
    {
        return toAjax(mdSupplierService.removeByIds(Arrays.asList(ids)));
    }

    @ApiOperation("获取打印data")
    @Anonymous
    @PostMapping("/get-print-data/{ids}")
    public AjaxResult getPrintData(@PathVariable Long[] ids)
    {
        String data = " name: \"黄磊\",\n" +
                "  logoTest: \"https://portrait.gitee.com/uploads/avatars/user/1800/5400665_CcSimple_1591166830.png!avatar60\",\n" +
                "  password: \"12346\",\n" +
                "  longText:\n" +
                "    \"浙江在线3月29日讯最近，\\n一篇小学五年级学生写的作文引起了钱报记者的关注这篇作文的题目叫做《脏话风波》，讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多，有的人说话甚至句句“带把儿”。班主任为了遏制这种现象，煞费苦心想了很多办法，跟学生斗智斗勇……看到这篇作文，记者突然想到，自己读六年级的儿子有天突然冒出一句脏话。此前，他是从不说脏话的。问他怎么学会的，他也说不出个所以然来。于是，记者做了这个小学生脏话现象调查。经过了解才发现，小学生爱说脏话竟然较为普遍，一般三年级会冒出苗头。无论是学习成绩好的，还是平时不太起眼的，都会说脏话。而且，说脏话会“传染”，一旦冒头不制止，到了五六年级甚至可能在班里大爆发。以下为作文《脏话风波》浙江在线3月29日讯最近，一篇小学五年级学生写的作文引起了钱报记者的关注。这篇作文的题目叫做《脏话风波》，讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多，有的人说话甚至句句“带把儿”。班主任为了遏制这种现象，煞费苦心想了很多办法，跟学生斗智斗勇……看到这篇作文，记者突然想到，自己读六年级的儿子有天突然冒出一句脏话。此前，他是从不说脏话的。问他怎么学会的，他也说不出个所以然来。于是，记者做了这个小学生脏话现象调查。经过了解才发现，小学生爱说脏话竟然较为普遍，一般三年级会冒出苗头。无论是学习成绩好的，还是平时不太起眼的，都会说脏话。而且，说脏话会“传染”，一旦冒头不制止，到了五六年级甚至可能在班里大爆发。以下为作文《脏话风波》浙江在线3月29日讯最近，一篇小学五年级学生写的作文引起了钱报记者的关注。这篇作文的题目叫做《脏话风波》，讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多，有的人说话甚至句句“带把儿”。班主任为了遏制这种现象，煞费苦心想了很多办法，跟学生斗智斗勇……看到这篇作文，记者突然想到，自己读六年级的儿子有天突然冒出一句脏话。此前，他是从不说脏话的。问他怎么学会的，他也说不出个所以然来。于是，记者做了这个小学生脏话现象调查。经过了解才发现，小学生爱说脏话竟然较为普遍，一般三年级会冒出苗头。无论是学习成绩好的，还是平时不太起眼的，都会说脏话。而且，说脏话会“传染”，一旦冒头不制止，到了五六年级甚至可能在班里大爆发。以下为作文《脏话风波》浙江在线3月29日讯最近，一篇小学五年级学生写的作文引起了钱报记者的关注。这篇作文的题目叫做《脏话风波》，讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多，有的人说话甚至句句“带把儿”。班主任为了遏制这种现象，煞费苦心想了很多办法，跟学生斗智斗勇……看到这篇作文，记者突然想到，自己读六年级的儿子有天突然冒出一句脏话。此前，他是从不说脏话的。问他怎么学会的，他也说不出个所以然来。于是，记者做了这个小学生脏话现象调查。经过了解才发现，小学生爱说脏话竟然较为普遍，一般三年级会冒出苗头。无论是学习成绩好的，还是平时不太起眼的，都会说脏话。而且，说脏话会“传染”，一旦冒头不制止，到了五六年级甚至可能在班里大爆发。以下为作文《脏话风波》浙江在线3月29日讯最近，一篇小学五年级学生写的作文引起了钱报记者的关注。这篇作文的题目叫做《脏话风波》，讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多，有的人说话甚至句句“带把儿”。班主任为了遏制这种现象，煞费苦心想了很多办法，跟学生斗智斗勇……看到这篇作文，记者突然想到，自己读六年级的儿子有天突然冒出一句脏话。此前，他是从不说脏话的。问他怎么学会的，他也说不出个所以然来。于是，记者做了这个小学生脏话现象调查。经过了解才发现，小学生爱说脏话竟然较为普遍，一般三年级会冒出苗头。无论是学习成绩好的，还是平时不太起眼的，都会说脏话。而且，说脏话会“传染”，一旦冒头不制止，到了五六年级甚至可能在班里大爆发。以下为作文讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多，有的人说话甚至句句“带把儿”。班主任为了遏制这种现象，煞费苦心想了很多办法，跟学生斗智斗勇……看到这篇作文，记者突然想到，自己读六年级的儿子有天突然冒出一句脏话。此前，他是从不说脏话的。问他怎么学会的，他也说不出个所以然来。于是，记者做了这个小学生脏话现象调查。经过了解才发现，小学生爱说脏话竟然较为普遍，一般三年级会冒出苗头。无论是学习成绩好的，还是平时不太起眼的，都会说脏话。而且，说脏话会“传染”，一旦冒头不制止，到了五六年级甚至可能在班里大爆发。以下为作文经过了解才发现，小学生爱说脏话竟然较为普遍，一般三年级会冒出苗头。无论是学习成绩好的，还是平时不太起眼的，都会说脏话。而且，说脏话会“传染”，一旦冒头不制止，到了五六年级甚至可能在班里大爆发。以下为作文讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多，有的人说话甚至句句“带把儿”。班主任为了遏制这种现象，煞费苦心想了很多办法，跟学生斗智斗勇……看到这篇作文，记者突然想到，自己读六年级的儿子有天突然冒出一句脏话。此前，他是从不说脏话的。问他怎么学会的，他也说不出个所以然来。于是，记者做了这个小学生脏话现象调查。经过了解才发现，小学生爱说脏话竟然较为普遍，一般三年级会冒出苗头。无论是学习成绩好的，还是平时不太起眼的，都会说脏话。而且，说脏话会“传染”，一旦冒头不制止，到了五六年级甚至可能在班里大爆发。以下为作文\",\n" +
                "  table: [\n" +
                "    { id: \"1\", name: \"王小可\", gender: \"男\", count: \"120\", amount: \"9089元\" },\n" +
                "    { id: \"2\", name: \"梦之遥\", gender: \"女\", count: \"20\", amount: \"89元\" },\n" +
                "    { id: \"3\", name: \"梦之遥\", gender: \"女\", count: \"720\", amount: \"29089元\" },\n" +
                "    { id: \"4\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "    { id: \"5\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "    { id: \"6\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "    { id: \"7\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "    { id: \"8\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "    { id: \"9\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "    { id: \"10\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "    { id: \"11\", name: \"王小可\", gender: \"男\", count: \"120\", amount: \"9089元\" },\n" +
                "    { id: \"12\", name: \"梦之遥\", gender: \"女\", count: \"20\", amount: \"89元\" },\n" +
                "    { id: \"13\", name: \"梦之遥\", gender: \"女\", count: \"720\", amount: \"29089元\" },\n" +
                "    { id: \"14\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "    { id: \"15\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "    { id: \"16\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "    { id: \"17\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "    { id: \"18\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "    { id: \"19\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "    { id: \"20\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "    { id: \"21\", name: \"王小可\", gender: \"男\", count: \"120\", amount: \"9089元\" },\n" +
                "    { id: \"22\", name: \"梦之遥\", gender: \"女\", count: \"20\", amount: \"89元\" },\n" +
                "    { id: \"23\", name: \"梦之遥\", gender: \"女\", count: \"720\", amount: \"29089元\" },\n" +
                "    { id: \"24\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "    { id: \"25\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "    { id: \"26\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "    { id: \"27\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "    { id: \"28\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "    { id: \"29\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "    { id: \"21\", name: \"王小可\", gender: \"男\", count: \"120\", amount: \"9089元\" },\n" +
                "    { id: \"22\", name: \"梦之遥\", gender: \"女\", count: \"20\", amount: \"89元\" },\n" +
                "    { id: \"23\", name: \"梦之遥\", gender: \"女\", count: \"720\", amount: \"29089元\" },\n" +
                "    { id: \"24\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "    { id: \"25\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "    { id: \"26\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "    { id: \"27\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "    { id: \"28\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "    { id: \"29\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "    { id: \"21\", name: \"王小可\", gender: \"男\", count: \"120\", amount: \"9089元\" },\n" +
                "    { id: \"22\", name: \"梦之遥\", gender: \"女\", count: \"20\", amount: \"89元\" },\n" +
                "    { id: \"23\", name: \"梦之遥\", gender: \"女\", count: \"720\", amount: \"29089元\" },\n" +
                "    { id: \"29\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "    { id: \"30\", name: \"黄小菊\", gender: \"女\", count: \"420\", amount: \"19089元\" },\n" +
                "  ]";
        return AjaxResult.success(1+"",data);
    }

}
